using System;

namespace SmartPeople.Framework.SecuritySpace
{
    /// <summary>
    /// ISecurityPermission interface
    /// </summary>
    public interface ISecurityPermission
    {
        /// <summary>
        /// Gets or sets the GID.
        /// </summary>
        /// <value>The GID.</value>
        Guid GID { get; set; }

        /// <summary>
        /// Gets or sets the security role ID.
        /// </summary>
        /// <value>The security role ID.</value>
        Guid SecurityRoleID { get; set; }

        /// <summary>
        /// Gets or sets the secured document ID.
        /// </summary>
        /// <value>The secured document ID.</value>
        Guid SecuredDocumentID { get; set; }

        /// <summary>
        /// Gets or sets the action ID.
        /// </summary>
        /// <value>The action ID.</value>
        Guid ActionID { get; set; }

        /// <summary>
        /// Gets or sets the state ID.
        /// </summary>
        /// <value>The state ID.</value>
        Guid StateID { get; set; }

        /// <summary>
        /// Gets the type of the access.
        /// </summary>
        /// <value>The type of the access.</value>
        AccessType AccessType { get; set; }
    }
}